Rahmen
Du arbeitest für ein kleines Handelsunternehmen. Die Produktdaten kommen nicht mehr sauber aus einer einzigen Datei, sondern aus mehreren Quellen mit unterschiedlichen Qualitätsproblemen. Deine Aufgabe ist es, die Daten zu prüfen, zu vereinheitlichen und daraus sinnvolle API-Regeln abzuleiten.
Ausgangsdaten
Du erhältst aus einer CSV-Datei folgende Produktdaten. Einige Werte sind absichtlich problematisch.
id,name,kategorie,preis,lagerbestand,aktiv 101,USB-C Kabel,Zubehör,9.99,80,true 102,Notebook-Ständer,Zubehör,24,15,true 103,Webcam,Hardware,49.90,0,false 103,Webcam Pro,Hardware,79.90,8,true 104,Monitorarm,Hardware,"39,99",12,true 105,,Zubehör,12.50,20,true 106,Laptop,Hardware,899.99,-3,true
Zusätzlich liefert ein externer Lieferant folgende JSON-Daten:
{
"supplier": "NordTech",
"updatedAt": "2026-06-15T10:30:00Z",
"items": [
{ "sku": "A-100", "title": "USB-C Kabel", "priceCent": 999, "stock": 80, "categoryCode": "ACC" },
{ "sku": "A-200", "title": "Webcam Pro", "priceCent": 7990, "stock": 8, "categoryCode": "HW" }
]
}5 Leitsatzaufgaben
1. Datenqualität prüfen
Leitsatz: Nicht jede Datei, die sich öffnen lässt, enthält automatisch verlässliche Daten.
- Markiere mindestens fünf konkrete Datenprobleme in der CSV-Datei.
- Ordne jedes Problem einer Kategorie zu: Syntax, Datentyp, Pflichtfeld, Wertebereich, Eindeutigkeit oder Fachlogik.
- Entscheide, welche Probleme einen Import vollständig stoppen sollten und welche nur eine Warnung erzeugen.
- Formuliere drei Validierungsregeln, die künftig automatisch geprüft werden sollen.
2. Lieferanten-JSON in ein API-Modell überführen
Leitsatz: Externe Daten müssen oft gemappt werden, bevor sie intern nutzbar sind.
- Erstelle eine Mapping-Tabelle von Lieferantenfeldern zu internen Produktfeldern.
- Wandle
priceCentin einen Preis mit Dezimalzahl um. - Übersetze
categoryCode:ACC → Zubehör,HW → Hardware. - Erzeuge für beide Lieferantenprodukte ein internes JSON-Array mit den Feldern
id,name,kategorie,preis,lagerbestand,aktiv,quelle.
3. API-Filter, Sortierung und Pagination planen
Leitsatz: Eine API sollte nicht immer ungefiltert alle Daten zurückgeben.
- Entwirf einen Endpunkt, der nur aktive Produkte aus der Kategorie Hardware liefert.
- Ergänze einen Query-Parameter für eine Preisobergrenze.
- Ergänze Query-Parameter für Sortierung nach Preis absteigend.
- Ergänze Pagination mit
pageundlimit. - Erkläre, warum Pagination bei großen Datenmengen wichtig ist.
4. API-Vertrag für neue Produkte definieren
Leitsatz: Eine REST-API braucht klare Erwartungen an eingehende Daten.
- Definiere, welche Felder beim Anlegen eines Produkts per
POST /produktePflichtfelder sind. - Formuliere Regeln für
preis,lagerbestandundname. - Erstelle einen gültigen Beispiel-Request-Body.
- Erstelle einen ungültigen Beispiel-Request-Body mit mindestens drei Fehlern.
- Formuliere eine sinnvolle Fehlerantwort mit Statuscode
400 Bad Request.
5. Daten aus mehreren Quellen zusammenführen
Leitsatz: Beim Zusammenführen von Daten braucht man Regeln für Konflikte.
- Vergleiche CSV-Produkt
103mit dem LieferantenproduktWebcam Pro. - Lege fest, welche Quelle bei Preis, Lagerbestand und Aktiv-Status Vorrang haben soll.
- Beschreibe eine Konfliktregel für doppelte IDs.
- Entwirf ein kurzes Importprotokoll: Wie sollte dokumentiert werden, welche Datensätze importiert, übersprungen oder korrigiert wurden?
- Zusatz: Skizziere einen Endpunkt, über den ein Admin ein Importprotokoll abrufen kann.
Abschlussreflexion
Leitsatz: Datenqualität ist eine technische und fachliche Aufgabe.
- Welche Prüfung würdest du immer automatisieren?
- Welche Entscheidung sollte eher ein Mensch treffen?
- Was kann passieren, wenn eine API fehlerhafte Daten ohne Prüfung annimmt?